package ace.cmp.id.generator.snowflake.property;

import ace.cmp.id.generator.snowflake.builder.SnowflakeManualBuilder;
import ace.cmp.id.generator.snowflake.enums.SnowflakeBuilderEnum;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

/**
 * @author Caspar snowflake sequence property
 */
@Data
@ConfigurationProperties(prefix = "ace.cmp.id.generator.snowflake")
public class SnowflakeProperties {
  /**
   * enable snowflake sequence
   */
  private Boolean enable = true;

  /**
   * snowflake sequence builder implement type
   */
  private SnowflakeBuilderEnum builderType = SnowflakeBuilderEnum.HOST_IP_BUILDER;

  /**
   * manual builder {@link SnowflakeManualBuilder} config properties
   */
  private SnowflakeManualProperties manual;
}
